home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / DGBFA.z / DGBFA
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDGGGGBBBBFFFFAAAA((((3333FFFF))))                                                            DDDDGGGGBBBBFFFFAAAA((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DGBFA   - DGBFA factors a double precision band matrix by elimination.
  10.  
  11.      DGBFA is usually called by DGBCO, but it can be called directly with a
  12.      saving in time if  RCOND  is not needed.
  13.  
  14.  
  15. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  16.       SUBROUTINE DGBFA(ABD,LDA,N,ML,MU,IPVT,INFO)
  17.  
  18. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.      On Entry
  20.  
  21.      AAAABBBBDDDD DOUBLE PRECISION(LDA, N)
  22.         contains the matrix in band storage.  The columns
  23.         of the matrix are stored in the columns of  ABD  and
  24.         the diagonals of the matrix are stored in rows
  25.         ML+1 through 2*ML+MU+1 of  ABD .
  26.         See the comments below for details.
  27.  
  28.      LLLLDDDDAAAA INTEGER
  29.         the leading dimension of the array  ABD .
  30.         LDA must be .GE. 2*ML + MU + 1 .
  31.  
  32.      NNNN INTEGER
  33.         the order of the original matrix.
  34.  
  35.      MMMMLLLL INTEGER
  36.         number of diagonals below the main diagonal.
  37.         0 .LE. ML .LT.  N .
  38.  
  39.      MMMMUUUU INTEGER
  40.         number of diagonals above the main diagonal.
  41.         0 .LE. MU .LT.  N .
  42.         More efficient if  ML .LE. MU .  On Return
  43.  
  44.      AAAABBBBDDDD an upper triangular matrix in band storage and
  45.         the multipliers which were used to obtain it.
  46.         The factorization can be written  A = L*U  where
  47.         L  is a product of permutation and unit lower
  48.         triangular matrices and  U  is upper triangular.
  49.  
  50.      IIIIPPPPVVVVTTTT INTEGER(N)
  51.         an integer vector of pivot indices.
  52.  
  53.      IIIINNNNFFFFOOOO INTEGER
  54.         = 0  normal value.
  55.         = K  if  U(K,K) .EQ. 0.0 .  This is not an error
  56.         condition for this subroutine, but it does
  57.         indicate that DGBSL will divide by zero if
  58.         called.  Use  RCOND  in DGBCO for a reliable
  59.         indication of singularity.  Band Storage
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDGGGGBBBBFFFFAAAA((((3333FFFF))))                                                            DDDDGGGGBBBBFFFFAAAA((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         If  A  is a band matrix, the following program segment
  75.         will set up the input.
  76.         ML = (band width below the diagonal)
  77.         MU = (band width above the diagonal)
  78.         M = ML + MU + 1
  79.         DO 20 J = 1, N
  80.         I1 = MAX0(1, J-MU)
  81.         I2 = MIN0(N, J+ML)
  82.         DO 10 I = I1, I2
  83.         K = I - J + M
  84.         ABD(K,J) = A(I,J)
  85.         10    CONTINUE
  86.         20 CONTINUE
  87.         This uses rows  ML+1  through  2*ML+MU+1  of  ABD .
  88.         In addition, the first  ML  rows in  ABD  are used for
  89.         elements generated during the triangularization.
  90.         The total number of rows needed in  ABD  is  2*ML+MU+1 .
  91.         The  ML+MU by ML+MU  upper left triangle and the
  92.         ML by ML  lower right triangle are not referenced.  LINPACK.  This
  93.      version dated 08/14/78 .  Cleve Moler, University of New Mexico, Argonne
  94.      National Lab.  Subroutines and Functions BLAS DAXPY,DSCAL,IDAMAX Fortran
  95.      MAX0,MIN0
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.